﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NUnit.Framework;
using System.Collections;
using Tibet.Logica;

namespace Tibet.Pruebas
{


    ///<summary>
    /// Pruebas Unitarias para el caso de uso Inicio Sesion
    /// </summary>
    
    [TestFixture]
    public class InicioSesion
    {




        /// <summary>
        /// Prueba Unitaria que se encarga de probar que el método ValidarLogin() devuelva
        /// si true si el alias y clave son correctos
        /// </summary>
        [TestCase]
        public void PruebaValidarLogin()
        {

            Credencial login = new Credencial();
            login.Alias = "Prueba";
            login.Clave = "12345";


            Boolean validarLogin = login.ValidarLogin(login);


            //Existe el Alias y Clave
            Assert.AreEqual(validarLogin, true);
        }




        /// <summary>
        /// Prueba unitaria que se encarga de probar que el método VerificarStatus()
        /// devuelva true si el usuario está activo y false en caso contrario
        /// </summary>
        [TestCase]
        public void PruebaValidarEstado()
        {

            Credencial login = new Credencial();
            login.Estado = "Activo";


            Boolean validarEstado = login.VerificarEstadoUsuario(login);
            
            //El estado del cliente es Activo
            Assert.AreEqual(validarEstado, true);
        }

        /// <summary>
        /// Prueba unitaria que se encarga de probar que el método ExisteAlias()
        /// devuelva una credencial
        /// </summary>
        [TestCase]
        public void PruebaExisteAliasClave()
        {

            Credencial login = new Credencial();
            login.Alias = "Prueba";
            login.Clave = "12345";
            login.Estado = "Activo";
            Credencial loginAux = new Credencial();

            //consulta Base de Datos
            //loginAux = login.ExisteAlias(login) as Credencial;
            
          
            //Es una Credencial
            Assert.IsInstanceOf(typeof(Credencial), loginAux);
           
        }





    }
}
